🎖️GitЯра🎖️
.github/agents/speckit.plan.agent.md gh-readonly-queue/main/pr-6597-a885127337f8d0abf09f1f5537560ed7af85e32d (34896a4a) Text, 6.24 KB
description: Execute the implementation planning workflow using the plan template to generate design artifacts.
handoffs:
• label: Create Tasks
agent: speckit.tasks
prompt: Break the plan into tasks
send: true
• label: Create Checklist
agent: speckit.checklist
prompt: Create a checklist for the following domain...
User Input
T282828
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
Pre-Execution Checks
Check for extension hooks (before planning):
• Check if T383838.specify/extensions.yml exists in the project root.
• If it exists, read it and look for entries under the T383838hooks.before_plan key
• If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
• Filter out hooks where T383838enabled is explicitly T383838false. Treat hooks without an T383838enabled field as enabled by default.
• For each remaining hook, do not attempt to interpret or evaluate hook T383838condition expressions:
• If the hook has no T383838condition field, or it is null/empty, treat the hook as executable
• If the hook defines a non-empty T383838condition, skip the hook and leave condition evaluation to the HookExecutor implementation
• For each executable hook, output the following based on its T383838optional flag:
• Optional hook (T383838optional: true):
T282828
## Extension Hooks
**Optional Pre-Hook**: {extension}
Command: \`/{command}\`
Description: {description}
Prompt: {prompt}
To execute: \`/{command}\`
• Mandatory hook (T383838optional: false):
T282828
## Extension Hooks
**Automatic Pre-Hook**: {extension}
Executing: \`/{command}\`
EXECUTE_COMMAND: {command}
Wait for the result of the hook command before proceeding to the Outline.
• If no hooks are registered or T383838.specify/extensions.yml does not exist, skip silently
Outline
1. Setup: Run T383838.specify/scripts/bash/setup-plan.sh --json from repo root and parse JSON for FEATURESPEC, IMPLPLAN, SPECS_DIR, BRANCH. For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'\''m Groot' (or double-quote if possible: "I'm Groot").
2. Load context: Read FEATURESPEC and T383838.specify/memory/constitution.md. Load IMPLPLAN template (already copied).
3. Execute plan workflow: Follow the structure in IMPL_PLAN template to:
• Fill Technical Context (mark unknowns as "NEEDS CLARIFICATION")
• Fill Constitution Check section from constitution
• Evaluate gates (ERROR if violations unjustified)
• Phase 0: Generate research.md (resolve all NEEDS CLARIFICATION)
• Phase 1: Generate data-model.md, contracts/, quickstart.md
• Phase 1: Update agent context by running the agent script
• Re-evaluate Constitution Check post-design
4. Stop and report: Command ends after Phase 2 planning. Report branch, IMPL_PLAN path, and generated artifacts.
5. Check for extension hooks: After reporting, check if T383838.specify/extensions.yml exists in the project root.
• If it exists, read it and look for entries under the T383838hooks.after_plan key
• If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
• Filter out hooks where T383838enabled is explicitly T383838false. Treat hooks without an T383838enabled field as enabled by default.
• For each remaining hook, do not attempt to interpret or evaluate hook T383838condition expressions:
• If the hook has no T383838condition field, or it is null/empty, treat the hook as executable
• If the hook defines a non-empty T383838condition, skip the hook and leave condition evaluation to the HookExecutor implementation
• For each executable hook, output the following based on its T383838optional flag:
• Optional hook (T383838optional: true):
T282828
## Extension Hooks
**Optional Hook**: {extension}
Command: \`/{command}\`
Description: {description}
Prompt: {prompt}
To execute: \`/{command}\`
• Mandatory hook (T383838optional: false):
T282828
## Extension Hooks
**Automatic Hook**: {extension}
Executing: \`/{command}\`
EXECUTE_COMMAND: {command}
• If no hooks are registered or T383838.specify/extensions.yml does not exist, skip silently
Phases
Phase 0: Outline & Research
1. Extract unknowns from Technical Context above:
• For each NEEDS CLARIFICATION → research task
• For each dependency → best practices task
• For each integration → patterns task
2. Generate and dispatch research agents:
T282828
For each unknown in Technical Context:
Task: "Research {unknown} for {feature context}"
For each technology choice:
Task: "Find best practices for {tech} in {domain}"
3. Consolidate findings in T383838research.md using format:
• Decision: [what was chosen]
• Rationale: [why chosen]
• Alternatives considered: [what else evaluated]
Output: research.md with all NEEDS CLARIFICATION resolved
Phase 1: Design & Contracts
Prerequisites: T383838research.md complete
1. Extract entities from feature spec → T383838data-model.md:
• Entity name, fields, relationships
• Validation rules from requirements
• State transitions if applicable
2. Define interface contracts (if project has external interfaces) → T383838/contracts/:
• Identify what interfaces the project exposes to users or other systems
• Document the contract format appropriate for the project type
• Examples: public APIs for libraries, command schemas for CLI tools, endpoints for web services, grammars for parsers, UI contracts for applications
• Skip if project is purely internal (build scripts, one-off tools, etc.)
3. Agent context update:
• Update the plan reference between the T383838<!-- SPECKIT START --> and T383838<!-- SPECKIT END --> markers in T383838.github/copilot-instructions.md to point to the plan file created in step 1 (the IMPL_PLAN path)
Output: data-model.md, /contracts/*, quickstart.md, updated agent context file
Key rules
• Use absolute paths for filesystem operations; use project-relative paths for references in documentation and agent context files
• ERROR on gate failures or unresolved clarifications
Served by rngit 1.5.2 - Generated in 0.08s